#include<bits/stdc++.h>
using namespace std;
int a[100010],r[100010],n;
int find(int x)
{
	int left=1,right=a[0],mid;
	while(left<=right)
	{
		mid=(left+right)/2;
		if(r[mid]<r[x])
		{
			a[mid]=-1;
			a[x]=0;
			return mid;
		}
		right=mid-1;
	}
	a[x]=0;
	return -1;
}
void duel()
{
	int ff=1,j;
	for(int i=1;i<=n;i++)
	{
		if(ff==0) return;
		if(i>a[0]) 
		{
			for(int j=1;j<=a[0];j++) 
			{
				if(a[j]!=0)
				{
					i=j;
					break;
				}
			}
		}
		int s=find(i);
		if(s!=-1)
		{
			for(int j=s;j<a[0];j++) 
			{
				a[j]=a[j+1];
				r[j]=r[j+1];
			}
			a[0]--;
		}
		for(j=1;j<=a[0];j++) if(a[j]!=0) break;
		if(j==a[0]+1&&a[j-1]==0) ff=0;
	}
}
int main()
{
	freopen("duel.in","r",stdin);
	freopen("duel.out","w",stdout);
	cin >>n;
	for(int i=1;i<=n;i++) 
	{
		cin >>r[i];
		a[i]=r[i];
	}
	sort(a+1,a+n+1);
	sort(r+1,r+n+1);
	a[0]=n;
	duel();
	cout <<a[0];
}
